Skip to main content

json 自动

添加依赖
environment:
sdk: '>=2.19.0 <3.0.0'

dependencies:
json_annotation: ^4.8.0
build_runner: ^2.3.3

dev_dependencies:
json_serializable: ^6.6.1

写model

import 'package:json_annotation/json_annotation.dart';

part 'user.g.dart';

@JsonSerializable(explicitToJson: true)
class User {
final String name;
final String email;

User(this.name, this.email);

factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);

Map<String, dynamic> toJson() => _$UserToJson(this);
}


报错不用管
直接运行生成命令
- 如果是Dart环境,可以在项目根目录下运行`dart run build_runner build`命令
- 如果是Flutter环境,则在项目根目录下运行`flutter pub run build_runner build`命令

flutter pub run build_runner build


//自己添加 string to class

factory Root.fromJsonString(String jsonString) {

Map<String, dynamic> json = jsonDecode(jsonString);

return Root.fromJson(json);

}

//自己添加 class to string
String toJsonString() => jsonEncode(toJson());